package com.briup.springboot_web.service.impl;

import com.briup.springboot_web.bean.User;
import com.briup.springboot_web.exception.ServiceException;
import com.briup.springboot_web.service.IUserService;
import org.springframework.stereotype.Service;

/**
 * 业务逻辑层： 1.接收web层发送过来的参数  2.对参数校验 3.调用Dao方法 CURD
 */
@Service //创建service层对象，放在ioc容器中
public class UserServiceImpl implements IUserService {
    @Override
    public User findById(Integer id) {

        //调用dao层方法实现查询，mybatisplus代码
        //模拟一个代码运行时语法错误，当代码抛出异常，程序无法继续执行
        if(id == 0){
            System.out.println(1/0); //算术异常
            //观察：返回给前端的数据格式不一致
        }
        //提示用户不能输入id小于0的情况。
        if(id < 0){
            //继续抛出业务异常,表示程序...
            throw new ServiceException("学号不能小于0");
        }


        return new User(id,"jack","123456");
    }

    @Override
    public void addUser(User user) {
        //增加业务逻辑判断
        //当密码长度小于6位 提示用户密码简单
        if(user.getPassword().length() < 6){
            throw new ServiceException("密码长度不能小于6位");
        }
        //名字长度为0 “”  “”  username=null
        String name = user.getUsername();
        if(name == null || name.trim().length() == 0){
            throw new ServiceException("用户名不能为空或空格");
        }
    }
}
